package com.koron.css2.clientCenter.mapper;

import com.koron.css2.clientCenter.bean.NoticeBean;
import com.koron.css2.clientCenter.bean.NoticeListQueryBean;
import com.koron.css2.clientCenter.vo.NoticeDetailVo;
import com.koron.css2.clientCenter.vo.NoticeListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 客户通知-通知公告数据层
 * 
 * @author 杨嘉慧
 *
 */
public interface NoticeMapper {
	/**
	 * 通知公告列表查询
	 * 
	 * @param bean
	 * @return
	 */
	public List<NoticeListVo> noticeList(NoticeListQueryBean bean);

	/**
	 * 通知公告添加
	 * 
	 * @param bean
	 * @return
	 */
	public void noticeAdd(NoticeBean bean);

	/**
	 * 通知公告删除
	 * 
	 * @param id
	 * @return
	 */
	public void noticeDelete(String id);

	/**
	 * 通知公告更新
	 * 
	 * @param bean
	 * @return
	 */
	public Integer noticeUpdate(NoticeBean bean);

	/**
	 * 查询通知公告详情页面所需数据
	 * 
	 * @param map
	 * @return
	 */
	public NoticeDetailVo noticeQuery(Map map);

	/**
	 * 根据单据编号查询通知公告推送所需要的数据
	 * 
	 * @param billId
	 * @return
	 */
	public NoticeBean noticePubQuery(String billId);

	/**
	 * 查询通知范围内的用户编号列表
	 * @param fieldName
	 * @param rangeValueList
	 * @return
	 */
	public List<String> notifyUserNoList(@Param("fieldName") String fieldName,
			@Param("rangeValueList") List<String> rangeValueList);
	
	/**
	 * 查询通知范围内的手机号列表
	 * @param fieldName
	 * @param rangeValueList
	 * @return
	 */
	public List<String> notifyMobileList(@Param("fieldName") String fieldName,
			@Param("rangeValueList") List<String> rangeValueList);

}
